package cn.yi.newsys.service;

import java.util.List;

import cn.yi.newsys.pojo.PageBean;
import cn.yi.newsys.pojo.User;

/**
 * 用户业务逻辑接口
 * @author Lenovo
 *
 */
public interface UserService {

	/**
	 * 注册业务
	 * @param user
	 * @return  1 成功  	0 失败   	-1 已被占用
	 */
	public int registerUser(User user) ;
	
	/**
	 * 登录功能
	 * @param user
	 * @return
	 */
	public User login(User user) ;
	
	
	/**
	 * 查询所有用户数据
	 * @return
	 */
	public List<User> getAllUser() ;
	
	/**
	 * 获取用户总数
	 * @return
	 */
	public int queryTotalCount(String queryName, Integer roleId) ;
	
	/**
	 * 计算总页数
	 * @param pageSize
	 * @return
	 */
	public int getTotalPage(int pageSize,String queryName, Integer roleId) ;
	
	/**
	 * 分页查询
	 * @param currentPage	当前页数
	 * @param pageSize		每页显示的数据数
	 * @return
	 */
	public PageBean<User> queryAllUser(int currentPage , int pageSize) ;
	
	/**
	 * 分页查询+搜索
	 * @param pageNo	当前页数
	 * @param pageSize	每页显示的数据数
	 * @param queryName	查询的用户名
	 * @param roleId	用户身份
	 * @return
	 */
	public PageBean<User> queryUserByPageNo(int pageNo , int pageSize , String queryName , Integer roleId) ;

	/**
	 * 检查用户名是否存在
	 * @param userName
	 * @return true 代表存在 ; false 代表不存在
	 * 
	 */
	public boolean checkUserExists(String userName) ;
	
	/**
	 * 检查用户邮箱是否存在
	 * @param email
	 * @return
	 */
	public boolean checkUserEmailExists(String email) ;

}
